import { IPSSysDynaModelAttr } from './ipssys-dyna-model-attr';
import { PSModelObjectImpl } from '../psmodel-object-impl';

export class PSSysDynaModelAttrImpl extends PSModelObjectImpl implements IPSSysDynaModelAttr {
  get attrTag(): string {
    return this.M.attrTag;
  }

  get attrTag2(): string {
    return this.M.attrTag2;
  }

  get codeName(): string {
    return this.M.codeName;
  }

  get dynaModelFilePath(): string {
    return this.M.dynaModelFilePath;
  }

  get memo(): string {
    return this.M.memo;
  }

  get name(): string {
    return this.M.name;
  }

  get orderValue(): number {
    return this.M.orderValue != null ? this.M.orderValue : 99999;
  }

  get stdDataType(): number {
    return this.M.stdDataType != null ? this.M.stdDataType : 0;
  }

  get userCat(): string {
    return this.M.userCat;
  }

  get userTag(): string {
    return this.M.userTag;
  }

  get userTag2(): string {
    return this.M.userTag2;
  }

  get userTag3(): string {
    return this.M.userTag3;
  }

  get userTag4(): string {
    return this.M.userTag4;
  }

  get value(): string {
    return this.M.value;
  }

  get valueType(): 'VALUE' | 'OBJECT' | 'DE' {
    return this.M.valueType;
  }

  get array(): boolean {
    return this.M.array != null ? this.M.array : false;
  }

  get cls(): string {
    return 'PSSysDynaModelAttrImpl';
  }

  instanceof(cls: string): boolean {
    if (cls == 'IPSModelSortable' || cls == 'dynamodel.IPSDynaModelAttr' || cls == 'dynamodel.IPSSysDynaModelAttr') return true;
    return super.instanceof(cls);
  }
}
